<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <script src="./javascript.js"></script>
  <title>Document</title>
</head>
<body>
  <h3>垃圾收集</h3>
  <p>1.js具有自动垃圾回收机制</p>
  <ul>
    <li>
      <h3>垃圾清除方式之标记清除</h3>
      <ul>
        <li>1.将变量标记为“进入环境或者离开环境”，垃圾收集器回收那些标记为“离开环境”的变量</li>
        <li>2.现在主流的垃圾收集方式就是标记清除</li>
      </ul>
    </li>
    <li>
      <h3>垃圾清除方式之引用计数</h3>
      <ul>
        <li>
          1.垃圾收集器回收引用次数为0的变量，但是出现相互引用的情况，需要手动将引用赋值为null
          才可以被垃圾处理器回收
        </li>
        <li>
          2.早期ie使用这种垃圾处理方式
        </li>
      </ul>
    </li>
  </ul>
  <p>2.性能问题</p>
  <ul>
    <li>1.性能问题指的是确定垃圾处理的时间间隔</li>
    <li>2.IE中window.CollectGarbage()方法会立即执行垃圾收集</li>
    <li>3.Opera7及更高版本中，调用widow.opera.collect()也会启动垃圾收集进程</li>
  </ul>
</body>
</html>